Software for managing a virtualized infrastructure is responsible for monitoring physical machines and virtual machines (VMs) running in the physical machines and for performing management operations such as provisioning and configuration tasks. One example of such management software is vSphere™ available from VMware, Inc. of Palo Alto, Calif.
A conventional virtualized infrastructure 100, illustrated in FIG. 1, includes VM management centers 102, 104, each of which manages a virtualized computer system that includes one or more VMs running in physical machines, such as host computers 142, 144 in virtualized computer system 140 and host computers 162, 164, 166 in virtualized computer system 160. Management tasks performed by VM management centers 102, 104 include provisioning VMs, migrating VMs between host computers, and allocating physical resources of the host computers, such as processor and memory. A MAC address allocation module within each VM management center (e.g., MAC address allocation module 106 for VM management center 102 or MAC address allocation module 108 for VM management center 104) manages MAC addresses for the VMs that are managed by the VM management center.
During provisioning of a VM, the VM management center directs its MAC address allocation module to provide a MAC address for each virtual network interface controller (vNIC) provisioned within the VM. The conventional format for a MAC address is illustrated in FIG. 1 as MAC address 120. MAC address 120 includes 6 eight-bit octets for a total of 48 bits. The first 24 bits, shown in FIG. 1 as OUI bits 122, are fixed to a set value known as the Organizationally Unique Identifier (OUI). The OUI uniquely identifies an organization, such as the software vendor that is providing or has created virtualized infrastructure 100. Two of OUI bits 122 are reserved for special purposes, one bit to specify unicast or multicast transmissions, and another bit to indicate whether the MAC addresses are administered universally or locally. The last 24 bits, shown in FIG. 1 as NIC address bits 124, identify a unique NIC address corresponding to the particular vNIC to which MAC address 120 is assigned. The NIC address is further sub-divided into a prefix and an index, typically an 8-bit prefix and a 16-bit index, where the prefix is associated with an entity administering the MAC addresses, such as the MAC address allocation module of a VM management center, and the index is assigned by that entity. Consequently, when a MAC address is generated according to the conventional format, it will contain 24 bits for the OUI, 8 bits for the prefix of the NIC address, and 16 bits for the index of the NIC address. As a result, the maximum number of unique MAC addresses that are available for allocation per MAC allocation module is 216 and every MAC allocation module has the same number of MAC addresses available.